package com.naiterui.ehp.bs.emr.vo.patient;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.naiterui.ehp.bp.utils.date.DateUtil;
import com.naiterui.ehp.bs.emr.vo.ImgFileVO;
import com.naiterui.ehp.bs.emr.vo.scale.DoctorScaleVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * @author wangzehao
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "DoctorMedicalRecordVO", description = "医生推送病例VO")
public class DoctorMedicalRecordVO {

    @ApiModelProperty(value = "推荐ID")
    private Long recommendId;

    @ApiModelProperty(value = "主诉")
    private String mainComplaint;

    @ApiModelProperty(value = "现病史")
    private String presentDisease;

    @ApiModelProperty(value = "既往史")
    private String pastHistory;

    @ApiModelProperty(value = "体温")
    private Double temperature;

    @ApiModelProperty(value = "体重")
    private Double weight;

    @ApiModelProperty(value = "心率")
    private Integer heartRete;

    @ApiModelProperty(value = "收缩压")
    private Integer systolic;

    @ApiModelProperty(value = "舒张压")
    private Integer diastole;

    @ApiModelProperty(value = "更多检查结果")
    private String moreExamine;

    @ApiModelProperty(value = "谷丙转氨酶alt")
    private Integer alt;

    @ApiModelProperty(value = "谷草转氨酶ast")
    private Integer ast;

    @ApiModelProperty(value = "HBV-DNA")
    private String hbvDna;

    @ApiModelProperty(value = "诊断（逗号隔开）")
    private String diagnosis;

    @ApiModelProperty(value = "诊断集合_【版本版新增】")
    private List<String> diagnosisList;

    @ApiModelProperty(value = "医嘱小结")
    private String doctorOrder;

    @ApiModelProperty(value = "是否有复诊时间（1有，2无）")
    private Integer revisitFalg;

    @ApiModelProperty(value = "几天后复诊")
    private Integer revisitNumber;

    @ApiModelProperty(value = "复诊时间单位(天，周，月)")
    private String revisitDateUnit;

    @ApiModelProperty(value = "复诊时间")
    private Date revisitDate;

    @ApiModelProperty(value = "图片列表")
    private List<ImgFileVO> imgList;

    @ApiModelProperty(value = "模板类型1:通用模板,2:肝病模板")
    private Integer templateType;

    /**
     * 推荐作废 0：正常 1：作废
     */
    @ApiModelProperty(value = "推荐作废状态 0：正常 1：作废")
    private Integer prescriptionInvalid;

    /**
     * 病历作废 0：正常 1：作废
     */
    @ApiModelProperty(value = "病历作废状态 0：正常 1：作废")
    private Integer medicalRecordiInvalid;

    /**
     * 病历作废时间
     */
    @ApiModelProperty(value = "病历作废时间")
    @JsonFormat(pattern = DateUtil.DATE_TIME)
    private Date medicalRecordiInvalidTime;

    /**
     * 模板名称（目前量表需要）
     */
    @ApiModelProperty(value = "模板名称")
    private String templateName;

    @ApiModelProperty(value = "医生填写量表")
    private DoctorScaleVO doctorScaleVO;

    @ApiModelProperty(value = "阳性体征")
    private String positiveSigns;
    @ApiModelProperty(value = "必要的阴性体征")
    private String negativeSigns;
    @ApiModelProperty(value = "过敏史")
    private String allergy;
    @ApiModelProperty(value = "家庭史")
    private String pastFamily;

    /**
     * 治疗意见
     */
    @ApiModelProperty("治疗意见")
    private String treatmentOptions;
    /**
     * 月经信息
     */
    @ApiModelProperty("月经信息")
    private MenstrualVO menstrual;
}
